Lokale Aliase in der Bash definieren
Die Bash (/bin/bash
) lässt sich einfach mit Alias und Funktionen erweitern. Standardmäßig wird die ~/.profile
beim Login geladen. Diese wiederum ladet die ~/.bashrc
. In der ~/.bashrc
ist definiert, wenn die Datei ~/.bash_aliases
existiert, soll auch diese geladen werden.
Dies nutzen wir und werden uns einige nützliche Aliase und Funktionen definieren. Die hier gesetzten Aliase sind eigentlich selbsterklärend. Sie vereinfachen uns die Befehle in der Shell bzw. verkürzen diese, um nicht so viel zu tippen. Der Alias functions
durchsucht die Datei ~/.bash_aliases
nach definierte Funktionen und listet deren Namen auf.
Aliase können keine Argumente entgegen nehmen, Funktionen schon. In diesem Beispiel erstellen wir uns eine Funktion, die Informationen eines SSL Zertifikat eines definierten Servers anzeigt. Als Argument wird der Servername angegeben.
# $File: ~/.bash_aliases $
# Some nice aliases
alias vi="vim"
alias ls="ls --color=auto"
alias l="ls -l"
alias ll="ls -la"
alias ..="cd ../"
alias ...="cd ../../"
alias functions="awk '\$0 ~ /^function.*/ {print \$2}' $HOME/.bash_aliases"
# some nice functions
function checkdomain() {
if [ ! -n "$1" ]; then
return 1
else
echo | \
openssl s_client -servername ${1} -connect ${1}:443 2>/dev/null | \
openssl x509 -noout -text | \
grep -E 'Not|Subject:|DNS|Issuer' | sed -e 's/^[ \t]*/\t/'
fi
}
# vim: syntax=bash ts=2 sw=2 sts=2 sr noet
# EOF
Hinweis
Nachdem wir unsere Aliase in der ~/.bash_aliases
definiert haben, melden wir uns ab und wieder an, damit die Aliase und Funktionen der Bash zur Verfügung stehen.
Möchte man wissen, welche Aliase überhaupt in der Bash existieren, gibt man einfach alias ein und man bekommt eine Auflistung aller zur Verfügung stehenden Aliase. Geben wir unseren selbst definierten Alias funtions
ein, werden alle selbst definierten Funktionen aus der ~/.bash_aliases
aufgelistet.
Testen wir nun unsere selbst definierte Funktion checkdomain()
. Wir geben als Argument einen beliebigen Servernamen an, um Informationen von dessen SSL Zertifikat anzuzeigen.
tux@earth:~$ checkdomain www.tuxnet24.de
Issuer: C = US, O = Let's Encrypt, CN = R3
Not Before: Dec 6 18:24:16 2022 GMT
Not After : Mar 6 18:24:15 2023 GMT
Subject: CN = *.tuxnet24.de
CA Issuers - URI:http://r3.i.lencr.org/
DNS:*.tuxnet24.de, DNS:tuxnet24.de